

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script type="text/javascript" src="helpman_topicinit.js"></script>

<title>Breakpoints [Enterprise Architect User Guide]</title>

<meta name="keywords" content="Enterprise Architect, Sparx Systems, UML, Breakpoint,Breakpoint Overview,Breakpoint Window,Breakpoint States,Breakpoint Format,Breakpoint Add To Code,Breakpoint Delete Single,Breakpoint Delete All,Breakpoint Enable,Breakpoint Disable,Debug Window,Debug Window Breakpoints Window,Window,Window Breakpoints">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />

<link type="text/css" href="default.css" rel="stylesheet" />
<style type="text/css">
  A, A:Visited
  {
    color: #00F;
  }

  A:Active, A:Hover
  {
    color: #F00;
  }

  OL
  {
    margin: 5px 0 5px 48px;
  }

  UL
  {
    margin-bottom: 3px;
    margin-top: 0;
  }

  #nsr
  {
    background-color: #D4DFFF;
  }

  #nsr A
  {
    text-decoration: none;
  }

  #mainbody
  {
    padding: 8px;
  }

  .p_BodyText
  {
    padding: 5px 0;
  }
</style>



<style type="text/css" media="screen">
  BODY
  {
    background-color: #FFFFFF;
  }

  #nsr
  {
    padding: 6px 6px 0 6px;
    border-bottom: none;
    vertical-align: top;
    z-index: 2;
    visibility: visible;
    left: 0;
    top: 0;
    position: absolute;
  }

  #mainbody
  {
    left: 0;
    top: 0;
    margin: 0;
    position: absolute;
    padding: 10px;
    overflow: auto;
    height: 100%;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: bottom right;
    background-attachment: fixed;
  }
</style>

<style type="text/css" media="print">
  #nsr
  {
    visibility: none;
  }

  #mainbody
  {
    overflow: visible;
  }
</style>
<script type="text/javascript" language="JavaScript" src="nonscroll.js"></script>

</head>
<body scroll="no">

<div id="page">



        <div id="content">
          <div id="content-inner">
          



  
          <div id="nsr">
            <table border="0" cellspacing="0" cellpadding="4" width="100%">
              <tr valign="top">
                <td align="left">
  


                  <p class="p_Heading1"><span class="f_Heading1">Breakpoints</span></p>



  
                </td>
                <td align="right">
                  <a href="introduction.htm" onmouseover="document.images.main.src='button_main_h.gif'" onmouseout="document.images.main.src='button_main.gif'">
                    <img name="main" src="button_main.gif" border=0 alt="Return to Introduction">
                  </a>&nbsp;
    
                  <a href="the_debug_window.htm" onmouseover="document.images.prev.src='button_prev_h.gif'" onmouseout="document.images.prev.src='button_prev.gif'">
                    <img name=prev src="button_prev.gif" border=0 alt="Previous page" />
                  </a>&nbsp;
    
    
    
                  <a href="local_variables.htm" onmouseover="document.images.next.src='button_next_h.gif'" onmouseout="document.images.next.src='button_next.gif'">
                    <img name=next src="button_next.gif" border=0 alt="Next page" />
                  </a>
    
    
                </td>
              </tr>
            </table>
          </div>
          <div id="mainbody">
  


                <p class="p_BodyText"><span class="f_BodyText">Breakpoints work in Enterprise Architect much like in any other debugger. Adding a breakpoint notifies the debugger to trap code execution at the point you have specified. When a breakpoint is encountered by a thread of the application being debugged, the source code is displayed in an editor window, and the line of code where the breakpoint occurred is highlighted.</span></p>
<p class="p_BodyText"><span class="f_BodyText">Selecting a different package in the project affects which breakpoints are displayed.</span></p>
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 5px 0px 5px 13px;"><table cellspacing="0" cellpadding="2" border="0" style="border: none; border-spacing:0px;">
<tr style="text-align:left;vertical-align:bottom;">
<td valign="bottom" width="952" bgcolor="#efeff7" style="width:952px; background-color:#efeff7;"><p class="p_TiporNote" style="border-top: none; border-right: none; border-left: none;"><span class="f_TiporNote">Note:</span></p>
</td>
</tr>
<tr style="text-align:left;">
<td width="952" bgcolor="#f7f7ff" style="width:952px; background-color:#f7f7ff;"><p class="p_TiporNoteText"><span class="f_TiporNoteText">The debugger does not stop automatically. It runs to completion unless it encounters a breakpoint.</span></p>
</td>
</tr>
</table>
</div>
<p class="p_BodyText"><span class="f_BodyText">An Enterprise Architect model maintains breakpoints for every package having a </span><span class="f_BodyText" style="font-style: italic;">Build Script - Debug</span><span class="f_BodyText"> command. Breakpoints themselves are listed in their own </span><span class="f_UIControl">Breakpoints</span><span class="f_BodyText"> window (</span><span class="f_MenuKeyField">View | Debug &amp; Profile | Breakpoints</span><span class="f_BodyText">).</span></p>
<p class="p_TextIndentedL2"><img src="debug_tab_breakpoints.png" width="554" height="316" border="0" alt="debug_tab_breakpoints"></p>
<p class="p_BodyText"><span class="f_BodyText">Breakpoints are also displayed in an abbreviated form in the </span><span class="f_BodyText" style="font-style: italic;">Breakpoints</span><span class="f_BodyText"> folder on the </span><span class="f_UIControl">Debug</span><span class="f_BodyText"> window (</span><span class="f_MenuKeyField">[Alt]+[8]</span><span class="f_BodyText">).</span></p>
<p class="p_TextIndentedL2"><img src="debuggerminibreakview.png" width="304" height="316" border="0" alt="DebuggerMiniBreakView"></p>
<p class="p_BodyText"><span class="f_BodyText">Breakpoints are maintained in a file according to the format:</span></p>
<p class="p_Code"><span class="f_Code">path\prefix_username.brkpt</span></p>
<p class="p_BodyText"><span class="f_BodyText">where:</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1" style="font-style: italic;">path</span><span class="f_Bulletlist1">  &nbsp; &nbsp; &nbsp; &nbsp; =  &nbsp; &nbsp; &nbsp; &nbsp;The default working directory specified in your Build Script</span></li>
<li><span class="f_Bulletlist1" style="font-style: italic;">prefix  &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="f_Bulletlist1"> =  &nbsp; &nbsp; &nbsp; &nbsp;Tree View Node Name / Package name</span></li>
<li><span class="f_Bulletlist1" style="font-style: italic;">username</span> &nbsp; &nbsp; &nbsp; &nbsp;<span class="f_Bulletlist1"> =  &nbsp; &nbsp; &nbsp; &nbsp;Host system username of the Enterprise Architect user.</span></li>
</ul>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Breakpoint States</span></p>
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 5px 0px 5px 13px;"><table cellspacing="0" cellpadding="0" border="0" style="border: none; border-spacing:0px; border-collapse: collapse;">
<tr style="text-align:left;vertical-align:top;">
<td colspan="3" valign="top" bgcolor="#e3e6ed" style="background-color:#e3e6ed; border: solid 1px #000000;"><p class="p_Tableheader" style="text-align: center;"><span class="f_Tableheader">DEBUGGER STATE</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="60" bgcolor="#e3e6ed" style="width:60px; background-color:#e3e6ed; border: solid 1px #000000;"><p class="p_Tableheader"><span class="f_Tableheader">&nbsp;</span></p>
</td>
<td valign="top" width="297" bgcolor="#e3e6ed" style="width:297px; background-color:#e3e6ed; border: solid 1px #000000;"><p class="p_Tableheader"><span class="f_Tableheader">Running</span></p>
</td>
<td valign="top" width="203" bgcolor="#e3e6ed" style="width:203px; background-color:#e3e6ed; border: solid 1px #000000;"><p class="p_Tableheader"><span class="f_Tableheader">Not running</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="60" style="width:60px; border: solid 1px #000000;"><p class="p_Tabletext" style="text-align: center;"><img src="active_breakpoint.png" width="14" height="14" border="0" alt="active_breakpoint"></p>
</td>
<td valign="top" width="297" style="width:297px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Bound</span></p>
</td>
<td valign="top" width="203" style="width:203px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Enabled</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="60" style="width:60px; border: solid 1px #000000;"><p class="p_Tabletext" style="text-align: center;"><img src="disabled_breakpoint.png" width="15" height="16" border="0" alt="disabled_breakpoint"></p>
</td>
<td valign="top" width="297" style="width:297px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Disabled</span></p>
</td>
<td valign="top" width="203" style="width:203px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Disabled</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="60" style="width:60px; border: solid 1px #000000;"><p class="p_Tabletext" style="text-align: center;"><img src="unbound_breakpoint.png" width="14" height="15" border="0" alt="unbound_breakpoint"></p>
</td>
<td valign="top" width="297" style="width:297px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Not bound - this usually means that the DLL is not yet loaded or was not built with debug information</span></p>
</td>
<td valign="top" width="203" style="width:203px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">N/a</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="60" style="width:60px; border: solid 1px #000000;"><p class="p_Tabletext" style="text-align: center;"><img src="failed_breakpoint.png" width="14" height="15" border="0" alt="failed_breakpoint"></p>
</td>
<td valign="top" width="297" style="width:297px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Failed - this usually means a break could not be set at this time, and can occur when the source file is newer or older than that used to build the application.</span></p>
</td>
<td valign="top" width="203" style="width:203px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">N/a</span></p>
</td>
</tr>
</table>
</div>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Add Breakpoints</span></p>
<p class="p_BodyText"><span class="f_BodyText">To set breakpoints for a code segment:</span></p>
<ol style="text-indent: 0px; margin-left: 48px; list-style-position: outside;">
<li value=1><span class="f_NumberedList">Open the model code to debug.</span></li>
<li value=2><span class="f_NumberedList">Find the appropriate code line and click in the left margin column. A solid red circle in the margin indicates that a breakpoint has been set at that position.</span></li>
</ol>
<p class="p_TextIndentedL2"><img src="adding_breakpoint.png" width="421" height="104" border="0" alt="adding_breakpoint"></p>
<p class="p_BodyText"><span class="f_BodyText">If the code is currently halted at a breakpoint, that point is indicated by a blue arrow next to the marker.</span></p>
<p class="p_TextIndentedL2"><img src="atbreakpoint.png" width="474" height="90" border="0" alt="AtBreakpoint"></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Delete, Disable and Enable Breakpoints</span></p>
<p class="p_BodyText"><span class="f_BodyText">To delete a specific breakpoint, either:</span></p>
<ul style="text-indent: 0px; margin-left: 30px; list-style-position: outside;">
<li><span class="f_Bulletlist1">If the breakpoint is enabled, click on the red breakpoint </span><span class="f_Bulletlist1">circle in the left margin of</span><span class="f_Bulletlist1"> the </span><span class="f_UIControl">Source Code Editor</span></li>
<li><span class="f_Bulletlist1">Right-click on the breakpoint marker in the editor and select the appropriate context menu option, or</span></li>
<li><span class="f_Bulletlist1">Select the breakpoint in the </span><span class="f_UIControl">Breakpoints</span><span class="f_Bulletlist1"> tab and press </span><span class="f_MenuKeyField">[Delete]</span><span class="f_Bulletlist1">.</span></li>
</ul>
<p class="p_BodyText"><span class="f_BodyText">You can also delete all breakpoints by clicking on the </span><span class="f_MenuKeyField">Delete all breakpoints</span><span class="f_BodyText"> button on the </span><span class="f_UIControl">Breakpoints</span><span class="f_BodyText"> window toolbar (</span><img src="delete%20breakpoints.png" width="21" height="20" border="0" alt="Delete Breakpoints"><span class="f_BodyText">).</span></p>
<p class="p_BodyText"><span class="f_BodyText">To disable a breakpoint, deselect its checkbox on the </span><span class="f_UIControl">Breakpoints</span><span class="f_BodyText"> window or, to disable all breakpoints, click on the </span><span class="f_MenuKeyField">Disable all breakpoints</span><span class="f_BodyText"> button in the toolbar (</span><img src="disable%20all%20breakpoints.png" width="19" height="16" border="0" alt="Disable all breakpoints"><span class="f_BodyText">). The breakpoint</span><span class="f_BodyText"> is then shown as an empty grey circle. </span><span class="f_BodyText">Select the checkbox or use the </span><span class="f_MenuKeyField">Enable all breakpoints</span><span class="f_BodyText"> button to enable it again (</span><img src="enable%20all%20breakpoints.png" width="18" height="19" border="0" alt="Enable all breakpoints"><span class="f_BodyText">).</span></p>




            </div>
          </div>
        </div>



</div>


</body>
</html>
